NAME
lc_cleanup - Clean up internal structures after processing data.SYNOPSIS
#include <libconfig.h>void lc_cleanup(void);
DESCRIPTION
The lc_cleanup(3) function cleans up the internal structures created by calling lc_register_var(3) or lc_register_callback(3) and returns the memory to the application. It is not strictly required, however memory concious programmers will still want to call this after finishing processing configuration files.After you call lc_cleanup(3) calling lc_process(3) or lc_process_file(3) will generally cause errors since the registered variables and callbacks have been unregistered.
EXAMPLE
#include <libconfig.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char **argv) { int lc_p_ret, lc_rv_ret; char *filename = NULL; lc_rv_ret = lc_register_var("File", LC_VAR_STRING, &filename, 'f'); if (lc_rv_ret != 0) { fprintf(stderr, "Error registering variable: %i.\n", lc_geterrno()); return(EXIT_FAILURE); } lc_p_ret = lc_process(argc, argv, "example", LC_CONF_APACHE, NULL); lc_cleanup(); if (lc_p_ret != 0) { fprintf(stderr, "Error processing configuration: \ %s\n", lc_geterrstr()); return(EXIT_FAILURE); } if (filename != NULL) { printf("File specified was: %s\n", filename); } else { printf("No filename specified.\n"); } return(EXIT_SUCCESS); }
SEE ALSO
libconfig(3), lc_register_var(3), lc_register_callback(3), lc_geterrno(3), lc_geterrstr(3), lc_seterrstr(3), lc_handle_type(3), lc_process(3), lc_process_file(3)